1. Field of the Invention
The invention relates generally to graphics display systems and more particularly to rendering images in a graphics display system.
2. Description of the Related Art
In a typical graphics processing system, a graphics processor processes geometric and color information so as to render pixel information used to control the illumination of individual pixels on a graphics display screen. Ordinarily, for each pixel on a graphics display screen there exists at least one pixel storage element for storing pixel information used to control the illumination of that pixel.
For example, referring to the illustrative drawing of FIG. 1 there is shown a typical earlier graphics processing system 20. The system 20 includes a graphics processor 22 which receives geometric and color information on line 24, processes the graphics information, and provides pixel information to a memory system 26. The memory system 26, in turn, provides the stored pixel information to a video digital-to-analog converter 30. The converter 30 converts the stored pixel information for each pixel into video signals used by a video display 34 to produce a visual image on a graphics display screen 38.
The graphics display screen 38 comprises a two dimensional grid which includes an NXM array of pixels; where NxM usually is on the order of 1280.times.1024. The memory system 26 includes a plurality of pixel storage elements (not shown). Each pixel storage element in the memory system 26 corresponds to a respective pixel on the graphics display screen 38. Furthermore, each pixel storage element stores multiple bits of information such as, for example, color information which determines the color of illumination of a corresponding pixel on the display screen 38; or depth information which indicates the depth from a viewpoint. Thus, there is a correspondence between the multiple bit pixel storage elements of the memory system 26 and pixels of the NxM array of pixels of the display screen 38.
Generally, in order to produce an image of a line segment on the graphics display screen 38, for example, geometric information in the form of the (x,y) coordinates of the pixels on the display screen 38 that contain the end-points of a line segment to be drawn are provided to the graphics processor 22 together with the color information for the two end-points. The geometric and color information is processed so as to render pixel image information which is stored in pixel storage elements of the memory system 26 that correspond to the pixels of the display screen 38 to be illuminated to portray the line segment.
A problem that frequently has been encountered in displaying a line segment by illuminating individual pixels of a display screen 38 is the appearance of a staircase effect. The illustrative drawings of FIG. 2 show an example of a line segment having end-points P.sub.a and P.sub.b which is displayed by illuminating the shaded pixels. The staircase effect is readily apparent in the shaded pixels of line segment P.sub.a P.sub.b.
One approach to avoiding the staircase effect in a line segment has been to gradually decrease the illumination of pixels used to portray the line segment such that pixels disposed farther from the actual line segment do not appear as bright as those closer it. In this manner, the staircase effect is made less noticeable to the eye. The illustrative drawing of FIG. 3 shows a line segment in which the appearance of the staircase effect is diminished using such gradual shading techniques.
While earlier techniques for reducing a staircase effect generally have been acceptable, there are shortcomings with their use. More specifically, such earlier techniques often have not been readily susceptible to highly parallel processing in hardware. In order to rapidly process pixel information for a huge number of pixels, it often is desirable to simultaneously (in parallel) process pixel information for multiple pixels. Furthermore, in order to provide smooth animation of images, the pixel information must be periodically updated usually at a very high rate, typically on the order of ten times per second. Parallel processing supports such high speed periodic updating.
One earlier approach to reducing the staircase effect, for example, has been to provide a set of look-up tables which contain pixel information that can be retrieved for storage in pixel storage elements. According to this earlier technique, for each pixel, a computer software program retrieves pixel information from such look-up tables based upon factors such as the slope of a line segment to be portrayed and the distance of such a pixel from the line segment. Unfortunately, parallel access to and retrieval from such look-up tables, in order to simultaneously process pixel information for multiple pixels, is difficult to implement in hardware.
Thus, there has been a need for a method for generating an image of a line segment on a graphics display screen which avoids the appearance of the staircase effect and which can be readily implemented using highly parallel processing techniques. The present invention meets this need.